home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-10-17 | 4.3 KB | 182 lines | [TEXT/MPS ] |
- macro
- PUSH
- move.l &SYSLIST[1],-(sp)
- endm
-
- macro
- POP
- move.l (sp)+,&SYSLIST[1]
- endm
-
- isotomactable proc export
- dc.b $00,$01,$02,$03,$04,$05,$06,$07,$08,$09,$0A,$0B,$0C,$0D,$0E,$0F
- dc.b $10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$1A,$1B,$1C,$1D,$1E,$1F
- dc.b $20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$2A,$2B,$2C,$2D,$2E,$2F
- dc.b $30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$3A,$3B,$3C,$3D,$3E,$3F
- dc.b $40,$41,$42,$43,$44,$45,$46,$47,$48,$49,$4A,$4B,$4C,$4D,$4E,$4F
- dc.b $50,$51,$52,$53,$54,$55,$56,$57,$58,$59,$5A,$5B,$5C,$5D,$5E,$5F
- dc.b $60,$61,$62,$63,$64,$65,$66,$67,$68,$69,$6A,$6B,$6C,$6D,$6E,$6F
- dc.b $70,$71,$72,$73,$74,$75,$76,$77,$78,$79,$7A,$7B,$7C,$7D,$7E,$7F
- dc.b $A5,$AA,$AD,$B0,$B3,$B7,$BA,$BD,$C3,$C5,$C9,$D1,$D4,$D9,$DA,$B6
- dc.b $C6,$CE,$E2,$E3,$E4,$F0,$F6,$F7,$F9,$FA,$FB,$FD,$FE,$FF,$F5,$C4
- dc.b $CA,$C1,$A2,$A3,$DB,$B4,$CF,$A4,$AC,$A9,$BB,$C7,$C2,$D0,$A8,$F8
- dc.b $A1,$B1,$D3,$D2,$AB,$B5,$A6,$E1,$FC,$D5,$BC,$C8,$B9,$B8,$B2,$C0
- dc.b $CB,$E7,$E5,$CC,$80,$81,$AE,$82,$E9,$83,$E6,$E8,$ED,$EA,$EB,$EC
- dc.b $DC,$84,$F1,$EE,$EF,$CD,$85,$D7,$AF,$F4,$F2,$F3,$86,$A0,$DE,$A7
- dc.b $88,$87,$89,$8B,$8A,$8C,$BE,$8D,$8F,$8E,$90,$91,$93,$92,$94,$95
- dc.b $DD,$96,$98,$97,$99,$9B,$9A,$D6,$BF,$9D,$9C,$9E,$9F,$E0,$DF,$D8
- endp
-
- mactoisotable proc export
- dc.b $00,$01,$02,$03,$04,$05,$06,$07,$08,$09,$0A,$0B,$0C,$0D,$0E,$0F
- dc.b $10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$1A,$1B,$1C,$1D,$1E,$1F
- dc.b $20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$2A,$2B,$2C,$2D,$2E,$2F
- dc.b $30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$3A,$3B,$3C,$3D,$3E,$3F
- dc.b $40,$41,$42,$43,$44,$45,$46,$47,$48,$49,$4A,$4B,$4C,$4D,$4E,$4F
- dc.b $50,$51,$52,$53,$54,$55,$56,$57,$58,$59,$5A,$5B,$5C,$5D,$5E,$5F
- dc.b $60,$61,$62,$63,$64,$65,$66,$67,$68,$69,$6A,$6B,$6C,$6D,$6E,$6F
- dc.b $70,$71,$72,$73,$74,$75,$76,$77,$78,$79,$7A,$7B,$7C,$7D,$7E,$7F
- dc.b $C4,$C5,$C7,$C9,$D1,$D6,$DC,$E1,$E0,$E2,$E4,$E3,$E5,$E7,$E9,$E8
- dc.b $EA,$EB,$ED,$EC,$EE,$EF,$F1,$F3,$F2,$F4,$F6,$F5,$FA,$F9,$FB,$FC
- dc.b $DD,$B0,$A2,$A3,$A7,$80,$B6,$DF,$AE,$A9,$81,$B4,$A8,$82,$C6,$D8
- dc.b $83,$B1,$BE,$84,$A5,$B5,$8F,$85,$BD,$BC,$86,$AA,$BA,$87,$E6,$F8
- dc.b $BF,$A1,$AC,$88,$9F,$89,$90,$AB,$BB,$8A,$A0,$C0,$C3,$D5,$91,$A6
- dc.b $AD,$8B,$B3,$B2,$8C,$B9,$F7,$D7,$FF,$8D,$8E,$A4,$D0,$F0,$DE,$FE
- dc.b $FD,$B7,$92,$93,$94,$C2,$CA,$C1,$CB,$C8,$CD,$CE,$CF,$CC,$D3,$D4
- dc.b $95,$D2,$DA,$DB,$D9,$9E,$96,$97,$AF,$98,$99,$9A,$B8,$9B,$9C,$9D
- endp
-
- NetToMacStack record 0
- a2 ds.l 1
- pc ds.l 1
- len ds.l 1
- p ds.l 1
- return ds.l 1
- endr
-
- ; function NetToMac(p:ptr; len:longInt):longInt;
- NetToMac proc export
- with NetToMacStack
-
- ; a0 = src ptr
- ; a1 = dest ptr
- ; a2 = isotomactable
- ; d0 = src len
- ; d1 = dest len
- ; d2 = the byte
-
- move.l a2,-(sp)
- move.l len(sp),d0
- clr.l d1
- move.l p(sp),a0
- move.l a0,a1
- lea isotomactable,a2
- clr.w d2
- loop
- sub.l #1,d0
- bmi.s fin
- move.b (a0)+,d2
- cmp.b #10,d2
- beq.s gotlf ; a lone lf, so convert to a cr
- cmp.b #13,d2
- bne.s continue
- tst.l d0
- beq.s continue ; no characters left, just end with a cr
- cmp.b #10,(a0)
- bne.s continue ; just a cr
- addq.l #1,a0
- sub.l #1,d0
- gotlf
- move.b #13,d2
- continue
- move.b (a2,d2.w),d2
- move.b d2,(a1)+
- addq.l #1,d1
- bra.s loop
- fin
- move.l d1,return(sp)
- move.l (sp)+,a2
- move.l (sp),8(sp)
- add.l #8,sp
- rts
-
- STRING ASIS ; The debugger string.
- DC.B $88,'NetToMac'
- DC.W $0000
-
- endp
-
- MacToNetStack record 0
- a2 ds.l 1
- pc ds.l 1
- len ds.l 1
- p ds.l 1
- return ds.l 1
- endr
-
- ; function MacToNet(p:ptr; len:longInt):longInt;
- MacToNet proc export
- with MacToNetStack
-
- ; a0 = src ptr
- ; a1 = dest ptr
- ; a2 = mactoisotable
- ; d0 = src len
- ; d1 = dest len
- ; d2 = the byte
-
- move.l a2,-(sp)
-
- ; first find the final length of the block
- move.l len(sp),d0
- move.l p(sp),a0
- move.l d0,d1
- loop1
- sub.l #1,d0
- bmi.s fin1
- cmp.b #13,(a0)+
- bne.s loop1
- addq.l #1,d1
- bra.s loop1
- fin1
-
- move.l len(sp),d0
- move.l p(sp),a0
- lea (a0,d1.l),a1
- lea (a0,d0.l),a0
- lea mactoisotable,a2
- clr.w d2
- loop2
- sub.l #1,d0
- bmi.s fin2
- move.b -(a0),d2
- cmp.b #13,d2
- bne.s over2
- move.b #10,-(a1)
- over2
- move.b (a2,d2.w),d2
- move.b d2,-(a1)
- bra.s loop2
- fin2
- move.l d1,return(sp)
- move.l (sp)+,a2
- move.l (sp),8(sp)
- add.l #8,sp
- rts
-
- STRING ASIS ; The debugger string.
- DC.B $88,'MacToNet'
- DC.W $0000
-
- endp
-
- END
-
- asm -wb "{active}"
-
-
- (evaluate "{active}" =~ /(?*):(?*)®1.a/ )> dev:null
- (evaluate "{active}" =~ "/(?*)®2.a/" )> dev:null
- link -sn CalcCRC="{®1}" "{active}.o" -o "{®2}"
- dumpcode "{®2}"
-